package com.leinao.project.dao;

import com.leinao.category.model.CategoryRelation;
import com.leinao.project.dto.ProjectDataSetDto;
import com.leinao.project.model.PaiObjectFileRelation;
import com.leinao.project.model.ProjectHistory;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 *
 * @Description 项目Dao
 * @author lizi
 * @date 2018/11/16 下午6:48
 * @Version 1.0
 */
@Repository
public interface ProjectHistoryMapper {

    /**
      * 功能描述：创建项目
      * @param project 项目信息
      * @return int
      * @Author: guoliangbo
      * @Date: 2019/5/7 13:45
      */
    int createProject(ProjectHistory project);

	/**
	 * 功能描述：编辑项目
	 * @param project 项目信息
	 * @return int 影响行数
	 * @Author: guoliangbo
	 * @Date: 2019/5/7 13:50
	 */
	int editProject(ProjectHistory project);

    /**
      * 功能描述：批量插入项目和数据集关系记录
      * @param list 项目和数据集关系列表
      * @return int 影响行数
      * @Author: guoliangbo
      * @Date: 2019/5/7 13:53
      */
	int batchInsertProjectDataSetRel(@Param("list") List<ProjectDataSetDto> list);

	/**
	  * 功能描述 插入对象和文件关系记录
	  * @param pofr 对象和文件关系记录
	  * @return int 返回影响行数
	  * @Author: guoliangbo
	  * @Date: 2019/3/14 15:37
	  */
    int insertObjFileRelation(PaiObjectFileRelation pofr);

	/**
	 * @Description 添加分类关联关系
	 * @param categoryRelation :  分类关联信息
	 * @author lizi
	 * @date 2019/03/06 下午6:44
	 */
	void insertCategoryRelation(CategoryRelation categoryRelation);

	/**
	  * 功能描述：查詢项目公开历史记录
	  * @param projectId 项目id
	  * @return: java.util.List<com.leinao.project.model.ProjectHistory> 项目公开历史记录
	  * @Author: Guo Liangbo
	  * @Date: 2019/6/4 15:16
	  */
	List<ProjectHistory> selectProjectHistories(@Param("projectId")Long projectId);
}